草庐IT

c++ - QMap 和 std::unique_ptr

全部标签

c++ - 你如何在 XCode + C++ 中使用 std::vector?

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前。出于各种原因(我向你保证它们是有效的,所以请不要谈论“使用Cocoa”),我必须使用XCode、C++、OpenGL、OpenCL(附带一点GLUT)来重建一些图形Mac上的演示(来自XP+VisualStudio2005开发)。该项目是使用“c++stdc++”作为命令行工具构建的。我的Program.h文件将我的着色器对象连接在一起、编译、链接,并以

c++ - 在 C 或 C++ 中从 LaTeX 制作 PNG|jpeg

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion我正在寻找一个C或C++库(或更聪明的解决方案),它可以从LaTeX代码生成图像文件(PNG|jpeg)。使用包是先决条件。现在我正在考虑将一个.tex文件编译成一个.dvi并使用dvipng来获得一个.PNG。还有可能将.tex文件编译为.ps文件,然后通过pstopng或pstoedit等外部实用程序将其转换为.PNG.但这些解决方案很麻烦,而且并不总是可移植的。

c++ - 在 C 中声明 == 在 C++ 中定义?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Whatisthedifferencebetweenadefinitionandadeclaration?在C中声明等于在C++中定义是否正确?inta;/*todeclarevariabelainC*/intb=2;/*todeclareandinitializeinC*/intc;//todefineinC++intd=4;//todefineandinitializeinC++

java - 将 std*** 从 C++ 重定向到 Java 以进行日志记录

我有一个C++应用程序和一个Java应用程序需要以相同的方式记录消息。我的Java应用程序使用由Log4j配置支持的ApacheCommonsLogging。我需要一个log4j配置,这样我就可以在一个位置更改我的日志记录首选项。在我的C++应用程序中,我捕获了对printf()和fprintf(std***)的所有调用,并且我认为我有以下选项:在我的C++应用程序中fork,从(f)printf()调用创建一个管道到新进程标准输入,然后启动一个Java程序,该程序使用CommonsLogging从标准输入和日志中读取使用JNI的JNI_CreateJVM()在C++应用程序中创建JV

c++ - 替换 msvc 上的 vsscanf

我在将代码库从linux(gcc)移植到windows(msvc)时遇到了问题。似乎C99函数vsscanf不可用并且没有明显的替代品。我读过有关使用内部函数_input_l并静态链接到crt运行时的解决方案,但不幸的是我无法静态链接,因为它会混淆应用程序加载的所有插件(作为dll)。那么是否有任何替代品或为vsscanf编写包装器的方法?2016-02-24更新:当第一次询问时没有本地替代品,但从那时起MSVC已经实现了对此的支持以及更多。VS2013并稍后实现vsscanf和friend。C++11也包括支持。 最佳答案 一个应

c# - 插入比特流

我正在寻找一种有效地将位插入位流并使其“溢出”并用0填充的方法。因此,例如,如果您有一个包含2个字节的字节数组:231和109(1110011101101101),并且执行了BitInsert(byteArray,4,00),它将在位偏移量4处插入两位,使得111000011101101101000000(225,219,24).即使该方法只允许1位插入也可以,例如BitInsert(byteArray,4,true)或BitInsert(byteArray,4,false),但该方法必须独立于比特流长度(流可能跨越数百个字节)。我有一种方法可以做到这一点,但它必须一点一点地使用位掩码

c++ - 从 C 代码中调用 R 脚本

有没有办法在C代码中调用R脚本?我确实找到了C的RApi(“编写R扩展”手册的第6章),但据我所知,这“只”允许调用R的C实现。当然我可以通过shell调用R-Script,但这对我来说不是解决方案,因为这不允许正确传递数据(如果我不知道将数据写入Csv文件或类似文件,至少不允许)。是否有预先使用R到C解析器的简单方法? 最佳答案 您有什么理由不想嵌入它吗?这包含在这个问题中:RfromC—SimplestPossibleHelloworld… 关于c++-从C代码中调用R脚本,我们在S

c++ - std::string == 运算符不工作

多年来,我一直在Windows和Linux上使用std::string的==运算符。现在我正在linux上编译我的一个库,它大量使用==。在linux上,以下函数失败,因为即使字符串相等(区分大小写,相等)==也返回falseconstData*DataBase::getDataByName(conststd::string&name)const{for(unsignedinti=0;igetName()==name){returnm_dataList.get(i);}}returnNULL;}getName()方法声明如下virtualconststd::string&getName

c++ - 使用 boost::random 从要删除元素的 std::list 中进行选择

查看此relatedquestion更通用地使用BoostRandom库。我的问题涉及从std::list中选择一个随机元素,执行一些操作,这可能包括从列表中删除元素,然后选择另一个随机元素,直到满足某些条件满意。boost代码和for循环大致如下所示://createandinsertelementsintoliststd::listmyList;//[...]//selectuniformlyfromlistindicesboost::uniform_intindices(0,myList.size()-1);boost::variate_generator>selectIndex

c++ - test_and_set 线程的这种用法安全吗?

一直在思考如何实现无锁单向链表。老实说,我没有看到很多防弹方法。即使是使用CAS的更强大的方法最终也会有一定程度的ABAproblem.所以我开始思考。部分无锁系统难道不会比总是使用锁更好吗?一些操作可以是原子的和无锁的吗?如果我能做到这一点,它应该仍然是线程安全的。那么,进入正题。我在想一个简单的单向链表。2主要操作。push和pop。push总是在前面插入。像这样:voidpush(intn){T*p=newT;p->n=n;p->next=root;root=p;}pop总是取第一个元素。像这样:T*pop(){T*p=root;root=root->next;returnp;}